Several types of non-volatile memory devices (such as the flash E2PROMs) are commonly used for storing information that has to be preserved even when a power supply is off. These memory devices are very often programmed (for example, in a factory) writing a great amount of information sequentially.
The speed of this sequential programming procedure is very important, especially when the memory device has a high capacity. Particularly, a bottleneck for the whole procedure is represented by the time required for switching an address of each word that has to be written onto the memory device.
Some methods have been proposed in the last years for improving the programming procedure. A known solution uses a parallel multi-programming technique, in which a page formed by 2 or 4 consecutive words is simultaneously written onto the memory device. Nevertheless, a new address has always to be provided for each page from the outside.
In a different method, known as “Enhanced Factory Programming” (EFP), the address is automatically increased inside the memory device after the writing of each word. A drawback of this solution is that it allows writing only one word at the time. Furthermore, the method EFP provides a starting phase in which a single attempt of writing is performed for each word; at the end of such a writing phase, all the words are verified and possibly re-written in succession. However, this requires providing the information to be written twice to the memory device.
The drawbacks of both the solutions involve a low speed of a production line for apparatuses embodying the memory devices; this results in a reduction of the yield of the production line, with a corresponding increase of the cost of those apparatuses.
It is important to point out that the two techniques described above propose modes of operation of the memory device that are completely different. In other words, such solutions have been always considered alternative and incompatible to each other.